package entities;
import java.io.Serializable;
import java.util.ArrayList;

/**
 * Objecto que representa um teatro
 * 
 * @author Leonardo Lino Nº45340
 * @author Diogo Pires Nº40351
 */
public class Teatro implements Serializable{

	public int id;
	public int lugaresTotal;
	public int lugaresOcupados;
	public int lugaresReservados;
	public String nome;
	public ArrayList<Lugar> lugares;
	
	public Teatro(int id, int lugaresTotal, int lugaresOcupados, int lugaresReservados, String nome, ArrayList<Lugar> lugares){
		this.id = id;
		this.nome = nome;
		this.lugares = lugares;
		this.lugaresTotal = lugaresTotal;
		this.lugaresOcupados = lugaresOcupados;
		this.lugaresReservados = lugaresReservados;
	}
	
	 public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public int getLugaresTotal() {
        return lugaresTotal;
    }

    public void setLugaresTotal(int lugaresTotal) {
        this.lugaresTotal = lugaresTotal;
    }

    public int getLugaresOcupados() {
        return lugaresOcupados;
    }

    public void setLugaresOcupados(int lugaresOcupados) {
        this.lugaresOcupados = lugaresOcupados;
    }

    public int getLugaresReservados() {
		return lugaresReservados;
	}

	public void setLugaresReservados(int lugaresReservados) {
		this.lugaresReservados = lugaresReservados;
	}

	public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public ArrayList<Lugar> getLugares() {
        return lugares;
    }

    public void setLugares(ArrayList<Lugar> lugares) {
        this.lugares = lugares;
    }

	@Override
	public String toString() {
		StringBuilder sb = new StringBuilder();
		
		sb.append(id);
		sb.append(':');
		sb.append(nome);
		sb.append(':');
		sb.append(lugaresTotal);
		sb.append(':');
		sb.append(lugaresOcupados);
		sb.append(':');
		sb.append(lugaresReservados);
		sb.append(':');
		
		for(Lugar lugar : lugares){
			sb.append(lugar.id);
			sb.append(':');
			sb.append(lugar.row);
			sb.append(':');
			sb.append(lugar.column);
			sb.append(':');
			sb.append(lugar.state);
			sb.append(':');
			sb.append(lugar.userID);
			sb.append(':');
			if(lugar.timestamp == null)
				sb.append("null");
			else
				sb.append(lugar.timestamp);
		}
		
		return sb.toString();
	}
    
    

}
